package com.hhf.rpa.job.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hhf.rpa.job.entity.BaseJob;
import com.hhf.rpa.job.pojo.form.BaseJobForm;

import java.util.Date;
import java.util.List;

public interface BaseJobService extends IService<BaseJob> {
    List<BaseJob> getJob();
    BaseJob getJobById(Integer jobId);
    IPage<BaseJob> getJobPage(BaseJobForm form);
    /**
     * 服务重启时，如果有日志状态为执行状态则调用此方法修改为失败状态
     * @return
     */
    boolean updateJobExecStatus(Integer jobId, Integer from, Integer to);

    /**
     * 记录下次定时任务执行时间
     * @param jobId
     * @param date
     * @return
     */
    boolean updateNextExecTime(Integer jobId, Date date);

    /**
     * 保存job
     * @param baseJob
     */
    void saveJob(BaseJob baseJob);

    void copyJob(Integer jobId);

    List<BaseJob> getByParams(String param);

    void deleteByParams(String param);
}
